'use strict';


module.exports = app => {
  const { router, controller } = app;// 结构

  // ------------------------web端--------------------------------

  // 获取文章列表 带用户搜索记录
  router.get('/api/web/article', controller.web.article.getArticle);

  // 获取热门文章
  router.get('/api/web/article/hot', controller.web.article.getHotArticle);

  // 获取用户发布的文章列表 根据用户id
  router.get('/api/web/article/userList/:user_id', controller.web.article.getUserArticleList);

  // 获取用户浏览文章历史记录 根据用户id
  router.get('/api/web/article/viewHistory/:user_id', controller.web.article.getUserArticleViewHistory);

  // 根据文章id获取文章信息
  router.get('/api/web/article/:id', controller.web.article.getArticleById);

  // 举报文章
  router.post('/api/web/article/report', controller.web.article.addReport);

  // 删除举报的文章
  router.delete('/api/web/article/report', controller.web.article.destroyReport);

  // 获取用户举报文章列表 根据用户id
  router.get('/api/web/article/report/userList/:user_id', controller.web.article.getUserReportList);

  // 获取用户点赞的文章列表 根据用户id
  router.get('/api/web/article/liking/:user_id', controller.web.article.getUserLikingList);

  // 对文章点赞
  router.post('/api/web/article/liking', controller.web.article.addArticleLiking);

  // 对文章取消点赞
  router.delete('/api/web/article/liking/:article_id', controller.web.article.destroyArticleLiking);

  //  TODO:根据文章id获取点赞信息 根据文章id判断是否已点赞   该接口会对获取用户点赞的文章列表 根据用户id  互相报错
  router.get('/api/web/article/liking/:article_id', controller.web.article.articleLikingById);


  // 收藏文章
  router.post('/api/web/article/collect', controller.web.article.addCollect);

  // 获取用户收藏文章列表 根据用户id
  router.get('/api/web/article/collect/:user_id', controller.web.article.getUserCollectList);

  // 取消收藏文章
  router.delete('/api/web/article/collect/:article_id', controller.web.article.destroyCollect);

  // TODO:根据文章id判断是否已收藏文章   该接口会对获取用户收藏文章列表 根据用户id
  router.get('/api/web/article/collect/:article_id', controller.web.article.CollectById);


  const webSearch = '/api/web/search'; // 开启路由前缀

  // 新增 用户搜索记录
  // router.post(`${url}/article`, controller.admin.web.search.create);
  // 获取文章列表 带用户搜索记录
  // router.get(`${url}/article`, controller.web.search.getArticle);
  // 获取用户搜索历史记录
  router.get(`${webSearch}/getUserHistory`, controller.web.search.getUserHistory);
  // 获取热门搜索
  router.get(`${webSearch}/getHotSearch`, controller.web.search.getHotSearch);
  // 删除单条用户搜索历史记录
  router.delete(`${webSearch}/delRowSearchHistory/:id`, controller.web.search.delRowSearchHistory);
  // 删除用户所有搜索历史记录
  router.delete(`${webSearch}/delAllSearchHistory`, controller.web.search.delAllSearchHistory);


  // 获取验证码 创建验证码 不需要token
  router.post('/api/web/verifyCode', controller.web.verifyCode.create);

  // 获取单条验证码
  // router.get('/api/web/verifyCode/:id', controller.web.verifyCode.show);

  // 删除验证码 批量或单独删除
  // router.delete('/api/web/verifyCode', controller.web.verifyCode.destroy);

  // stream上传文件
  router.post('/api/web/upload', controller.web.upload.uploadmax);


  // 验证码快捷登录 or 创建用户 不需要token
  router.post('/api/web/user/quick', controller.web.user.quickUser);

  // 账号密码登录
  router.post('/api/web/user/login', controller.web.user.accountAndPasswordToLogin);

  // 验证码快捷修改密码
  router.patch('/api/web/user/quickUpdatePassword', controller.web.user.quickUpdatePassword);

  // github login 未启用
  router.post('/api/web/user/gitHubLogin', controller.web.user.gitHubLogin);

  // WeChat Login 未启用
  router.post('/api/web/user/weChatLogin', controller.web.user.WeChatLogin);

  // 获取用户主页个人信息
  router.get('/api/web/user/HomePage/:user_id', controller.web.user.getUserHomePage);

  // 关注用户
  router.post('/api/web/user/focus', controller.web.user.addFocus);

  // 取消关注用户
  router.delete('/api/web/user/focus/:follerd_id', controller.web.user.destroyFocus);

  // 根据id判断是否关注了用户
  router.get('/api/web/user/focus/:follerd_id', controller.web.user.getFocusById);

  // 获取用户的关注列表 根据用户id
  router.get('/api/web/user/followings/:user_id', controller.web.user.followings);

  // 获取用户的粉丝列表 根据用户id
  router.get('/api/web/user/followers/:user_id', controller.web.user.followers);

  // =========
  // 获取文章评论列表
  router.get('/api/web/comment', controller.web.comment.index);

  // 评论文章 新增
  router.post('/api/web/comment', controller.web.comment.createComment);

  // 获取用户评论点赞的列表
  router.get('/api/web/comment/liking/userList', controller.web.comment.getUserCommentLikingList);

  // 点赞评论 新增
  router.post('/api/web/comment/liking', controller.web.comment.createCommentLiking);

  // 取消对评论点赞
  router.delete('/api/web/comment/liking/:comment_id', controller.web.comment.destroyCommentLiking);

  // 获取评论点赞列表 获取当前用户点赞过的列表【数组id】
  router.get('/api/web/comment/liking', controller.web.comment.getCommentLikingList);

  // 获取用户评论列表 根据用户ID
  router.get('/api/web/comment/userList/:user_id', controller.web.comment.getUserCommentList);

};
